1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Drawing;
5 using System.Data;
6 using System.Linq;
7 using System.Text;
8 using System.Threading.Tasks;
9 using System.Windows.Forms;
10
11 namespace SoftQuanLyNhaHang.Views
12 {
13
14 public delegate void LinkKiemKho_ThayDoi_GetForm_EventHandler(object sender, EventArgs e, int idKiemKho);
15
16 public partial class uctKho_KiemTraKho_ChiTiet : UserControl
17 {
18 public uctKho_KiemTraKho_ChiTiet()
19 {
20 InitializeComponent();
21 }
22
23 //click
24 public static uctKho_KiemTraKho_ChiTiet uctKtk_Ct = new uctKho_KiemTraKho_ChiTiet();
25
26 public event LinkKiemKho_ThayDoi_GetForm_EventHandler Link_KiemKho_ThayDoi_Click;
27
28 private int _getIdKiemKho;
29
30 int _pageSize = 30;
31 int _pageIndex = 1;
32 int _tongSoBanGhi = 0;
33 int _stt = 0;
34
35 int _IdKho_SpKiemKho = 0;
36
37 private void uctKho_KiemTraKho_ChiTiet_Load(object sender, EventArgs e)
38 {
39 //_getIdKiemKho = idk
40 //textBox1.Text = "1";
41 }
42
43
44 public void HienThiDsChiTietKiemKho(int idKiemK)
45 {
46 _getIdKiemKho = idKiemK;
47
48 //Thong tin kiem kho
49 DataTable dtKiemKho = new DataTable();
50 dtKiemKho = Controllers.Kho_KiemKhoCtrl.FillDataSet_getKho_KiemKho_Get_ByIdKiemKho(_getIdKiemKho).Tables[0];
51 if (dtKiemKho.Rows.Count > 0)
52 {
53 float soMatHangKiemKho = 0;
54 float soMatHangTrongKho = 0;
55 float soLuongChenhLech = 0;
56
57 soMatHangTrongKho =(float)CauHinhHeThong.Format_SoDeTinhToan(dtKiemKho.Rows[0]["TongSoMatHangTrongKho"].ToString(), false);
58 soMatHangKiemKho = (float)CauHinhHeThong.Format_SoDeTinhToan(dtKiemKho.Rows[0]["TongSoMatHangKiemKho"].ToString(), false);
59
60 soLuongChenhLech =soMatHangKiemKho - soMatHangTrongKho;
61
62 txtNgayKiemKho.Text = CauHinhHeThong.Format_HienThiNgayThangNam(dtKiemKho.Rows[0]["NgayKiemKho"].ToString(), true);
63 txtSoLuongChenhLech.Text = CauHinhHeThong.Format_SoDeHienThi(soLuongChenhLech, false);
64 txtSoMatHangKiemKho.Text = CauHinhHeThong.Format_SoDeHienThi(soMatHangKiemKho, false);
65 txtSoMatHangTrongKho.Text = CauHinhHeThong.Format_SoDeHienThi(soMatHangTrongKho, false);
66
67 this.HienThiDanhSachSpTrongKho();
68 }
69
70
71 }
72
73 private void HienThiDanhSachSpTrongKho()
74 {
75 dgvDsSpTrongKho.Rows.Clear();
76 //Ẩn cột đầu tiên
77 dgvDsSpTrongKho.RowHeadersVisible = false;
78 //-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
79 this.dgvDsSpTrongKho.Columns["STTKk"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
80 this.dgvDsSpTrongKho.Columns["STTKk"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
81 //this.dgvDsSpTrongKho.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
82
83
84 this.dgvDsSpTrongKho.Columns["TenDonViTinhKk"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
85 this.dgvDsSpTrongKho.Columns["TenDonViTinhKk"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
86
87 this.dgvDsSpTrongKho.Columns["SoLuongKiemKhoKk"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
88 this.dgvDsSpTrongKho.Columns["SoLuongKiemKhoKk"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
89 //
90 //
91 this.dgvDsSpTrongKho.Columns["SoLuongTrongKhoKk"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
92 this.dgvDsSpTrongKho.Columns["SoLuongTrongKhoKk"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
93 //
94
95 this.dgvDsSpTrongKho.Columns["SoLuongChenhLech"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
96 this.dgvDsSpTrongKho.Columns["SoLuongChenhLech"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
97
98
99 DataTable dtDsSpKho = new DataTable();
100 dtDsSpKho = Controllers.Kho_SpKiemKhoCtrl.FillDataSet_getKho_SpKiemKho_ByIdKhiemKho(_IdKho_SpKiemKho, _getIdKiemKho, _pageSize, _pageIndex).Tables[0];
101
102 if (dtDsSpKho.Rows.Count > 0)
103 {
104 _tongSoBanGhi = Int32.Parse(dtDsSpKho.Rows[0]["TongSoBanGhi"].ToString());
105
106 float SoLuongTrongKhoKk = 0;
107 float SoLuongKiemKhoKk = 0;
108 float SoLuongChenhLechKk = 0;
109
110 foreach (DataRow item in dtDsSpKho.Rows)
111 {
112 _stt += 1;
113 int n = dgvDsSpTrongKho.Rows.Add();
114
115 dgvDsSpTrongKho.Rows[n].Cells["IdKho_SpKiemKho"].Value = item["IdKho_SpKiemKho"].ToString();
116 dgvDsSpTrongKho.Rows[n].Cells["STTKk"].Value = _stt.ToString();
117
118 dgvDsSpTrongKho.Rows[n].Cells["MaSanPhamKk"].Value = item["MaSanPham"].ToString();
119 dgvDsSpTrongKho.Rows[n].Cells["TenSanPhamKk"].Value = item["TenSanPham"].ToString();
120 dgvDsSpTrongKho.Rows[n].Cells["TenDonViTinhKk"].Value = item["TenDonViTinh"].ToString();
121
122 SoLuongTrongKhoKk = (float)CauHinhHeThong.Format_SoDeTinhToan(item["SoLuongTrongKho"].ToString(), false);
123
124 SoLuongKiemKhoKk = (float)CauHinhHeThong.Format_SoDeTinhToan(item["SoLuongKiemKho"].ToString(), false);
125
126 SoLuongChenhLechKk = SoLuongKiemKhoKk - SoLuongTrongKhoKk;
127
128 dgvDsSpTrongKho.Rows[n].Cells["SoLuongTrongKhoKk"].Value = CauHinhHeThong.Format_SoDeHienThi(SoLuongTrongKhoKk, false);
129 dgvDsSpTrongKho.Rows[n].Cells["SoLuongKiemKhoKk"].Value = CauHinhHeThong.Format_SoDeHienThi(SoLuongKiemKhoKk, false);
130 dgvDsSpTrongKho.Rows[n].Cells["SoLuongChenhLech"].Value = CauHinhHeThong.Format_SoDeHienThi(SoLuongChenhLechKk, false);
131
132
133 dgvDsSpTrongKho.Rows[n].Cells["DienGiai"].Value = item["GhiChu"].ToString();
134
135 }
136
137 }
138 else
139 {
140 _tongSoBanGhi = 0;
141 }
142
143 lblTongSoBanGhiHienThi.Text = CauHinhHeThong.HienThiSoBanGhiTuA_DenB(_pageSize, _pageIndex, _stt.ToString(), _tongSoBanGhi.ToString());
144 }
145
146
147 private void linkLabel_ThayDoi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
148 {
149 if (this.Link_KiemKho_ThayDoi_Click != null)
150 {
151 this.Link_KiemKho_ThayDoi_Click(sender, e, _getIdKiemKho);
152 }
153 }
154
155 private void btnTiep_Click(object sender, EventArgs e)
156 {
157 if (_tongSoBanGhi > (_pageSize * _pageIndex))
158 {
159 _pageIndex = _pageIndex + 1;
160
161 this.HienThiDanhSachSpTrongKho();
162 }
163 else
164 {
165 return;
166 }
167 }
168
169 private void btnSau_Click(object sender, EventArgs e)
170 {
171 if ((_pageSize * _pageIndex) > _pageSize)
172 {
173 _pageIndex = _pageIndex - 1;
174 _stt = _pageSize * _pageIndex - _pageSize;
175
176
177 this.HienThiDanhSachSpTrongKho();
178 }
179 else
180 {
181 _pageIndex = 1;
182 }
183 }
184 }
185 }